package cn.tangg.factory.simple_factory;


import cn.tangg.factory.simple_factory.products.Circle;
import cn.tangg.factory.simple_factory.products.Rectange;
import cn.tangg.factory.simple_factory.products.Square;

/**
 * 简单工厂（Simple Factory）模式，又称静态工厂方法模式（Static Factory Method Pattern）
 * 在一个统一的工厂类来创建所有的对象
 */
public class ShapeFactory {
    public static Shape getShape(String shapeType) {
        if (shapeType == null) return null;

        switch (shapeType) {
            case "C":
                return new Circle();
            case "R":
                return new Rectange();
            case "S":
                return new Square();
        }

        return null;
    }
}
